/*

Miranda IM: the free IM client for Microsoft* Windows*

Copyright 2000-2007 Miranda ICQ/IM project, 
all portions of this codebase are copyrighted to the people 
listed in contributors.txt.

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or ( at your option ) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
aLONG with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

*/

#ifndef _SVC_CONSTANTS_INCLUDED_
#define _SVC_CONSTANTS_INCLUDED_

#define MODULELONGNAME						"Extended UserInfo"
#define USERINFO							"UserInfo"
#define MODNAME								"UserInfoEx"

#define MODULELONGNAMET	_T( MODULELONGNAME )
#define MODNAMET				_T( MODNAME )

#define MAXDATASIZE			1024		// maximum character count of most static, temporary, ...., strings
#define MAXCATLEN			  64		// maximum character count for a category string ( phone, email, interest, ... )
#define MAXSETTING			 255		// maximum character count for a setting string
#define MAXNAME				 260		// maximum character count for a username
#define MAXUID				 260		// maximum character count for a uin

// most important modules
#define	MOD_MBIRTHDAY						"mBirthday"
#define MOD_CLIST							"CList"

// database settings ( propertysheet )
#define SET_PROPSHEET_PCBIREADONLY			"PBCIReadOnly"
#define SET_PROPSHEET_READONLYLABEL			"TILReadonly"
#define SET_PROPSHEET_SHOWCOLOURS			"ShowColours"
#define SET_PROPSHEET_CLRNORMAL				"colourNormal"
#define SET_PROPSHEET_CLRCUSTOM				"colourUser"
#define SET_PROPSHEET_CLRBOTH				"colourBoth"
#define SET_PROPSHEET_CLRCHANGED			"colourChanged"
#define SET_PROPSHEET_CLRMETA				"colourMeta"
#define SET_PROPSHEET_SAVEVCARD				"vCardOnExit"
#define SET_PROPSHEET_GROUPS				"TreeGroups"
#define SET_PROPSHEET_SORTITEMS				"TreeSortItems"
#define SET_PROPSHEET_CHANGEMYDETAILS		"ChangeMyDetails"
#define SET_ABOUT_ACTIVEWINDOW				"AboutActiveWin"
#define SET_VCARDMENUITEMS_ENABLED			"vCardEnableMenu"
#define SET_MENU_CASCADE					"MenuCascade"
#define SET_CONTACTMENU_CASCADE				"ContactMenuCascade"
#define SET_GETCONTACTINFO_ENABLED			"ExtendedCIS"
#define SET_EXTENDED_EMAILSERVICE			"emailEx"
#define SET_CLIST_EXTRAICON_GENDER			"GenderColumn"
#define SET_CLIST_EXTRAICON_GENDER2			"cliGender"
#define SET_CLIST_EXTRAICON_COUNTRY			"CountryColumn"
#define SET_CLIST_EXTRAICON_HOMEPAGE		"cliHomepage"
#define SET_CLIST_EXTRAICON_EMAIL			"cliEmail"
#define SET_CLIST_EXTRAICON_PHONE			"cliPhone"
#define SET_OPT_AUTOTIMEZONE				"AutoTimezone"
#define SET_ZODIAC_AVATARS					"ZodicAvatars"
#define SET_META_SCAN						"MetaScan"
// database settings ( general psp )
#define SET_ME_PASSWORD						"Password"
#define SET_CONTACT_TITLE					"Title"
#define SET_CONTACT_FIRSTNAME				"FirstName"
#define SET_CONTACT_SECONDNAME				"SecondName"
#define SET_CONTACT_LASTNAME				"LastName"
#define SET_CONTACT_PREFIX					"Prefix"
#define SET_CONTACT_NICK					"Nick"
#define SET_CONTACT_MYHANDLE				"MyHandle"
#define SET_CONTACT_STREET					"Street"
#define SET_CONTACT_ZIP						"Zip"
#define SET_CONTACT_CITY					"City"
#define SET_CONTACT_STATE					"State"
#define SET_CONTACT_COUNTRY					"Country"
#define SET_CONTACT_GENDER					"Gender"
// database settings ( advanced psp )
#define SET_CONTACT_ORIGIN_STREET			"OriginStreet"
#define SET_CONTACT_ORIGIN_ZIP				"OriginZip"
#define SET_CONTACT_ORIGIN_CITY				"OriginCity"
#define SET_CONTACT_ORIGIN_STATE			"OriginState"
#define SET_CONTACT_ORIGIN_COUNTRY			"OriginCountry"
#define SET_CONTACT_LANG1					"Language1"
#define SET_CONTACT_LANG2					"Language2"
#define SET_CONTACT_LANG3					"Language3"
#define SET_CONTACT_MARITAL					"MaritalStatus"
#define SET_CONTACT_PARTNER					"Partner"
#define SET_CONTACT_ANNIVERSARY				"Anniv"
#define SET_CONTACT_AGE						"Age"
#define SET_CONTACT_TIMEZONE				"Timezone"
#define SET_CONTACT_BIRTH					"Birth"
#define SET_CONTACT_BIRTHDAY				"BirthDay"
#define SET_CONTACT_BIRTHMONTH				"BirthMonth"
#define SET_CONTACT_BIRTHYEAR				"BirthYear"
#define SET_CONTACT_DOBD					"DOBd"
#define SET_CONTACT_DOBM					"DOBm"
#define SET_CONTACT_DOBY					"DOBy"
// database settings ( company psp )
#define SET_CONTACT_COMPANY_POSITION		"CompanyPosition"
#define SET_CONTACT_COMPANY_OCCUPATION		"CompanyOccupation"
#define SET_CONTACT_COMPANY_SUPERIOR		"CompanySuperior"
#define SET_CONTACT_COMPANY_ASSISTENT		"CompanyAssistent"
#define SET_CONTACT_COMPANY					"Company"
#define SET_CONTACT_COMPANY_DEPARTMENT		"CompanyDepartment"
#define SET_CONTACT_COMPANY_OFFICE			"CompanyOffice"
#define SET_CONTACT_COMPANY_STREET			"CompanyStreet"
#define SET_CONTACT_COMPANY_ZIP				"CompanyZip"
#define SET_CONTACT_COMPANY_CITY			"CompanyCity"
#define SET_CONTACT_COMPANY_STATE			"CompanyState"
#define SET_CONTACT_COMPANY_COUNTRY			"CompanyCountry"
#define SET_CONTACT_COMPANY_HOMEPAGE		"CompanyHomepage"
// database settings ( about psp )
#define SET_CONTACT_ABOUT					"About"
#define SET_CONTACT_MYNOTES					"MyNotes"
// database settings ( ... psp )
#define SET_CONTACT_PHONE					"Phone"
#define SET_CONTACT_FAX						"Fax"
#define SET_CONTACT_CELLULAR				"Cellular"
#define SET_CONTACT_EMAIL					"e-mail"
#define SET_CONTACT_EMAIL0					"e-mail0"
#define SET_CONTACT_EMAIL1					"e-mail1"
#define SET_CONTACT_HOMEPAGE				"Homepage"
#define SET_CONTACT_COMPANY_PHONE			"CompanyPhone"
#define SET_CONTACT_COMPANY_FAX				"CompanyFax"
#define SET_CONTACT_COMPANY_CELLULAR		"CompanyCellular"
#define SET_CONTACT_COMPANY_EMAIL			"Companye-mail"
#define SET_CONTACT_COMPANY_EMAIL0			"Companye-mail0"
#define SET_CONTACT_COMPANY_EMAIL1			"Companye-mail1"

#define SET_CONTACT_MYPHONE_VAL				"MyPhone%d"
#define SET_CONTACT_MYPHONE_CAT				"MyPhone%dCat"
#define SET_CONTACT_COMPANY_MYPHONE_VAL		"MyCompanyPhone%d"
#define SET_CONTACT_COMPANY_MYPHONE_CAT		"MyCompanyPhone%dCat"
#define SET_CONTACT_MYEMAIL_VAL				"Mye-mail%d"
#define SET_CONTACT_MYEMAIL_CAT				"Mye-mail%dCat"
#define SET_CONTACT_COMPANY_MYEMAIL_VAL		"MyCompanye-mail%d"
#define SET_CONTACT_COMPANY_MYEMAIL_CAT		"MyCompanye-mail%dCat"

#define SET_CONTACT_ADDEDTIME				"ContactAddTime"
// default values for some of the options
#define DEFVAL_GETCONTACTINFO_ENABLED	1

#define DEFVAL_CLIST_EXTRAICON_GENDER	2
#define DEFVAL_CLIST_EXTRAICON_COUNTRY	3
#define DEFVAL_CLIST_EXTRAICON_HOMEPAGE	1
#define DEFVAL_CLIST_EXTRAICON_EMAIL	1
#define DEFVAL_CLIST_EXTRAICON_PHONE	1

typedef INT ( *MIRSERVICE )( WPARAM wParam, LPARAM lParam );

typedef struct TIDList {
	INT		nID;
	LPCTSTR	szText;
	LPCTSTR	ptszTranslated;
} IDSTRLIST, *LPIDSTRLIST;

INT GetMaritalList( WPARAM wParam, LPARAM lParam );
INT GetLanguageList( WPARAM wParam, LPARAM lParam );
INT GetCountryList( WPARAM wParam, LPARAM lParam );
INT GetOccupationList( WPARAM wParam, LPARAM lParam );
INT GetInterestsList( WPARAM wParam, LPARAM lParam );
INT GetPastList( WPARAM wParam, LPARAM lParam );
INT GetAffiliationsList( WPARAM wParam, LPARAM lParam );
INT GetNamePrefixList( WPARAM wParam, LPARAM lParam );

VOID Constants_LoadModule( VOID );
VOID Constants_UnloadModule( VOID );

#endif /* _SVC_CONSTANTS_INCLUDED_ */